mongodb 查找 排序 索引 命令
相关文章:
PyMongo--非关系型数据库mongodb入门(一步一步 版)
mongo用了一段时间了,给人一个感觉就是爽,特别是mongo shell和python又很像。
闲话不说,今天主要把几个用的mongo shell命令讲一下:
1.查找
获取表base中click字段大于1的数据
db.base.find({'click':{"$gt":0}})
获取表base中有click字段的数据
db.base.find({'click':{"$exists":true}})
获取表base中有click字段的数据,并只显示click字段(主键是一定会显示的)
db.base.find({'click':{"$exists":true}},{'click':1})
2.排序
获取表base中click最大的前5个
db.base.find().sort({'click':-1}).limit(5)
3.索引
说到索引不得不啰嗦一句,90000万多条数据,又一个keyword_id.
每次拿keyword_id去查找,我的程序需要接近5分钟才能完成,加了索引后飙到32秒。
索引就是好啊,不过mongo应该会把索引加载到内存的,会增加内存的使用。
不用的时候可以把索引删除掉。
查看索引 db.keywords.getIndexes() 系统默认的索引是以_id为key的
增加索引 db.keywords.ensureIndex({"keyword_id":1}) 可以有多个索引的
删除索引 db.keywords.dropIndex({"keyword_id":1})
4.其他
把表base中key字段的所有值去重后罗列出来,有时很有用哦
db.base.distinct('key')
园子里有一篇mongo shell命令写的很全的文章,可以看看
http://www.cnblogs.com/cxd4321/archive/2011/06/24/2089051.html
还有 http://dbchu.com/2012/09/11/97
mongo 的shell 还支持 javascript 想更灵活的使用的话,还得多写几行
1年多了,mongo最终还是被抛弃了,太吃内存,很多坑。苦b的是坑了一便,还是抛弃了。
posted on 2012-10-22 18:02 NashZhou 阅读(24165) 评论(0) 编辑 收藏 举报